Parallelization Primitives for Dynamic Sparse Computations
نویسندگان
چکیده
We characterize a general class of algorithms common in machine learning, scientific computing, and signal processing, whose computational dependencies are both sparse, and dynamically defined throughout execution. Existing parallel computing runtimes, like MapReduce and GraphLab, are a poor fit for this class because they assume statically defined dependencies for resource allocation and scheduling decisions. As a result, changing load characteristics and straggling compute units degrade performance significantly. However, we show that the sparsity of computational dependencies and these algorithms’ natural error tolerance can be exploited to implement a flexible execution model with large efficiency gains, using two simple primitives: selective push-pull and statistical barriers. With reconstruction for compressive time-lapse MRI as a motivating application, we deploy a large Orthogonal Matching Pursuit (OMP) computation on Amazon’s EC2 cluster to demonstrate a 19x speedup over current static execution models.
منابع مشابه
HPF-2 Support for Dynamic Sparse Computations
There is a class of sparse matrix computations, such as direct solvers of systems of linear equations, that change the fill-in (nonzero entries) of the coefficient matrix, and involve row and column operations (pivoting). This paper addresses the problem of the parallelization of these sparse computations from the point of view of the parallel language and the compiler. Dynamic data structures ...
متن کاملParleda: a Library for Parallel Processing in Computational Geometry Applications
ParLeda is a software library that provides the basic primitives needed for parallel implementation of computational geometry applications. It can also be used in implementing a parallel application that uses geometric data structures. The parallel model that we use is based on a new heterogeneous parallel model named HBSP, which is based on BSP and is introduced here. ParLeda uses two main lib...
متن کاملData and Computation Abstractions for Dynamic and Irregular Computations
Effective data distribution and parallelization of computations involving irregular data structures is a challenging task. We address the twin-problems in the context of computations involving block-sparse matrices. The programming model provides a global view of a distributed block-sparse matrix. Abstractions are provided for the user to express the parallel tasks in the computation. The tasks...
متن کاملApplicability of Program Comprehension to Sparse Matrix Computations
Space{eecient data structures for sparse matrices typically yield programs in which not all data dependencies can be determined at compile time. Automatic pa-rallelization of such codes is usually done at run time, e.g. by applying the inspector{ executor technique, incurring tremendous overhead. | Program comprehension techniques have been shown to improve automatic parallelization of dense ma...
متن کاملComplete Parallelization of Computations: Integration of Data Partitioning and Functional Parallelism for Dynamic Data Structures
Complete Parallelization of Computations: Integration of Data Partitioning and Functional Parallelism for Dynamic Data Structures J.C. Browne, Dwip Banerjee1 Department of Computer Sciences University of Texas Austin, Texas Abstract: This paper presents a parallel programming system which i) supports complete parallelization of array oriented computations through a coherent integration of data ...
متن کامل